package com.framework.admin.model;

import com.framework.common.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;


@Data
@Table
@Entity
@EqualsAndHashCode(callSuper = true)
public class SysMenu extends BaseModel {
    /**
     * 菜单编号
     */
    @Column(columnDefinition = "varchar(200) default '' COMMENT '菜单编码'")
    private String code;
    /**
     * 菜单父编号
     */
    @Column(columnDefinition = "varchar(200) default '' COMMENT '菜单父编号'")
    private String pcode;
    /**
     * 类型
     */
    @Column(columnDefinition = "varchar(1) default '' COMMENT '类型 0文件夹 1菜单 2按钮'")
    private String type;
    /**
     * 菜单名称
     */
    @Column(columnDefinition = "varchar(50) default '' COMMENT '菜单名称'")
    private String name;
    /**
     * 菜单图标
     */
    @Column(columnDefinition = "varchar(20) default '' COMMENT '菜单图标'")
    private String icon;
    /**
     * url地址
     */
    @Column(columnDefinition = "varchar(200) default '' COMMENT 'url地址'")
    private String path;
    /**
     * 跳转地址
     */
    @Column(columnDefinition = "varchar(100) default '' COMMENT '跳转地址，类似是目录的时候存在'")
    private String redirect;
    /**
     * 菜单排序号
     */
    @Column(columnDefinition = "int(4) default 0 COMMENT '菜单排序号'")
    private Integer sort;
    /**
     * 是否显示
     */
    @Column(columnDefinition = "int default 0 COMMENT '是否显示'")
    private Boolean hidden;

    /**
     * 菜单缓存（1：是  0：不是）
     */
    @Column(columnDefinition = "int default 0 COMMENT '菜单缓存'")
    private Boolean cache;

    /**
     * 是否有侧边栏（1：有  0：没有）
     */
    @Column(columnDefinition = "int default 1 COMMENT '是否有侧边栏'")
    private Boolean sideBar;

    /**
     * 组件路径
     */
    @Column(columnDefinition = "varchar(200) default '' COMMENT '组件路径'")
    private String component;
}
